Release 10.1A: OpenEdge Development:
Progress Dynamics Basic Development


Links maintenance

SmartObjects communicate by means of named connections that in the ADM are called SmartLinks. A SmartLink is nothing more than a collective name for a set of named events. They can be published (using the Progress™ 4GL PUBLISH statement) by the initiator, or Source, of the event. They are subscribed to (using the Progress 4GL SUBSCRIBE statement) by one or more targets for the event. As the designer of a window (or in this case, a container for many windows of a type), you need only name the source and target objects and the name of the link between them. The standard ADM code handles all the setup needed for the objects to communicate. If you are not familiar with the ADM, you can read more about this mechanism in the documentation. Some new links defined for the Progress Dynamics framework are described in the "New Progress Dynamics SmartLinks" section.

After you select all the objects that are in the window or page, you must define all the links between objects in the container. The links will be made between the objects in the container; when a specific window or page is built from the container, these same links will be created between the actual application objects the application assembler chooses.

The standard Repository includes template objects, and templates for windows and pages with links already defined. You only need to go through the process of creating a new layout if none exists already for the combination of objects you need. Once you have defined it, any developer who wants to assemble an application can build windows from it without understanding or modifying the specifics of the object positions, links, etc.

Links Maintenance tool

The Links Maintenance tool is used to manage all links on the container between all instance objects and the container itself. Filtering and sorting of links can be done quite intuitively using the tools provided. By clicking on any one of the column headers, a browser’s details will be sorted by that particular field. A special filtering tool has been provided to allow only a selected list of links to be displayed.

Filtering links is made possible by a combination of combos. This works exactly like the standard AppBuilder Links window works. Besides being able to filter on source, target, and link type, you can also see links pertaining to a specific object—whether it is the target or source—using the To / From field.

Figure 8–17 shows the Links Maintenance window. Another useful option is to filter links by folder page.

Figure 8–17: Links Maintenance window

Adding/assigning links

Add links to provide IO for the new objects.

To add or assign a link:

  1. Click the Add button.
  2. Select the source, link, or target for the link. If, for example, the required object is not in the source list, click on the Filter from source, Filter from link, or Filter from target button to reveal all possible sources for links. This works for all three columns. Whichever item is selected from any column, the other two are dynamically updated to show only allowable items. This is based on the data in the ryc_supported_link table. Again, the red check mark indicates which component is currently active.
  3. Select the other two components of the link.
  4. Click Save. The browser is updated and the latest record is added.
Maintaining links

Links can be edited and deleted using the maintenance tool. By simply selecting the link from the browser, the columnar link details section is dynamically updated with the specific link’s details. Select the Modify button to enable the columns. Here, the source, target, or link type can be changed. Remember to click on Save for the change to take effect.

To delete a link, again, simply select it from the browser and click the Delete button.

New Progress Dynamics SmartLinks

Most of the links are standard ADM SmartLinks. A few new ones have been added beyond those described in the documentation. This section describes the following new SmartLinks:

The Object Locator tool

This special tool allows you to find an object instance anywhere on a container and is particularly useful with multi-page containers. It has been included on the container builder as well as on the Links Maintenance tool, where finding an object instance is sometimes necessary.

Some advanced filtering tools have been provided to facilitate easy searching for object instances, as shown in Figure 8–18.

Figure 8–18: Object Locator window

Based on the filter selections, the browser displays the objects that satisfy the criteria.

The Foreign-Field Mapping dialog box

In the instances section of the Container Builder, there is a button (...) to the right of the Foreign Fields field. Click this to display the Foreign Fields Mapping dialog box, as shown in Figure 8–19.

Figure 8–19: Foreign-Field Mapping dialog

Use this dialog box to explicitly map SDO and SBO source and targets. Select one field in each list and choose Map. The list at the bottom shows the fields that are currently mapped. Choose one and click Unmap to undo the mapping.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095